home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Disc to the Future 2
/
Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin
/
MAC
/
THINKC
/
4_0
/
VIVIDUS
/
CQD3D_DE.SI1
/
Cqd3d demo.rsrc
/
CODE_5.txt
< prev
next >
Wrap
Text File
|
1991-07-01
|
22KB
|
397 lines
# near model CODE resource
# entry label at 0x0000
entry:
fn00000000:
00000000 201F move.l D0, [A7]+
00000002 41FA 0010 lea.l A0, [PC + 0x10 /* 00000014 */]
00000006 9048 sub.w D0, A0
00000008 E248 lsr D0.w, 1
0000000A 225F movea.l A1, [A7]+
0000000C 3F00 move.w -[A7], D0
0000000E 2F09 move.l -[A7], A1
00000010 ADEA trap Pack3, auto_pop
00000012 61EC bsr -0x12 /* 00000000 */
export_89:
00000014 61EA bsr -0x14 /* 00000000 */
00000016 61E8 bsr -0x16 /* 00000000 */
00000018 61E6 bsr -0x18 /* 00000000 */
0000001A 61E4 bsr -0x1A /* 00000000 */
fn0000001C:
0000001C 201F move.l D0, [A7]+
0000001E 41FA 0010 lea.l A0, [PC + 0x10 /* 00000030 */]
00000022 9048 sub.w D0, A0
00000024 E248 lsr D0.w, 1
00000026 225F movea.l A1, [A7]+
00000028 3F00 move.w -[A7], D0
0000002A 2F09 move.l -[A7], A1
0000002C AC2E trap Pack12, auto_pop
0000002E 61EC bsr -0x12 /* 0000001C */
00000030 61EA bsr -0x14 /* 0000001C */
00000032 61E8 bsr -0x16 /* 0000001C */
00000034 61E6 bsr -0x18 /* 0000001C */
00000036 61E4 bsr -0x1A /* 0000001C */
00000038 61E2 bsr -0x1C /* 0000001C */
0000003A 61E0 bsr -0x1E /* 0000001C */
0000003C 61DE bsr -0x20 /* 0000001C */
0000003E 61DC bsr -0x22 /* 0000001C */
export_90:
00000040 61DA bsr -0x24 /* 0000001C */
export_69:
00000042 4A78 028E tst.w [0x0000028E /* ROM85 */]
00000046 6B22 bmi +0x24 /* 0000006A */
00000048 303C 0090 move.w D0, 0x90
0000004C A346 trap GetOSTrapAddress, flags=3
0000004E 2248 movea.l A1, A0
00000050 303C 009F move.w D0, 0x9F
00000054 A746 trap GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
00000056 B3C8 cmpa.l A1, A0
00000058 6710 beq +0x12 /* 0000006A */
0000005A 225F movea.l A1, [A7]+
0000005C 205F movea.l A0, [A7]+
0000005E 301F move.w D0, [A7]+
00000060 2F09 move.l -[A7], A1
00000062 A090 trap SysEnvirons
00000064 3F40 0004 move.w [A7 + 0x4], D0
00000068 4E75 rts
label0000006A:
0000006A 206F 0004 movea.l A0, [A7 + 0x4]
0000006E 303C 0001 move.w D0, 0x1
00000072 2248 movea.l A1, A0
00000074 6006 bra +0x8 /* 0000007C */
00000076 0313 btst [A3], D1
00000078 0B02 btst D2, D5
0000007A 0100 btst D0, D0
label0000007C:
0000007C 303C 0010 move.w D0, 0x10
00000080 E240 asr D0.w, 1
00000082 5340 subq.w D0, 1
label00000084:
00000084 4258 clr.w [A0]+
00000086 51C8 FFFC dbf D0, -0x6 /* 00000084 */
0000008A 32BC 0001 move.w [A1], 0x1
0000008E 2078 02AE movea.l A0, [0x000002AE /* ROMBase */]
00000092 337C FFFE 0002 move.w [A1 + 0x2], 0xFFFE
00000098 0C28 00FF 0009 cmpi.b [A0 + 0x9], 0xFF
0000009E 6742 beq +0x44 /* 000000E2 */
000000A0 4A28 0008 tst.b [A0 + 0x8]
000000A4 6E20 bgt +0x22 /* 000000C6 */
000000A6 337C FFFF 0002 move.w [A1 + 0x2], 0xFFFF
000000AC 4A78 028E tst.w [0x0000028E /* ROM85 */]
000000B0 6B30 bmi +0x32 /* 000000E2 */
000000B2 337C 0001 0002 move.w [A1 + 0x2], 0x1
000000B8 4A78 0B22 tst.w [0x00000B22 /* HWCfgFlags */]
000000BC 6A24 bpl +0x26 /* 000000E2 */
000000BE 337C 0002 0002 move.w [A1 + 0x2], 0x2
000000C4 601C bra +0x1E /* 000000E2 */
label000000C6:
000000C6 4269 0002 clr.w [A1 + 0x2]
000000CA 0C28 0002 0008 cmpi.b [A0 + 0x8], 0x2
000000D0 6E10 bgt +0x12 /* 000000E2 */
000000D2 6708 beq +0xA /* 000000DC */
000000D4 337C 0004 0002 move.w [A1 + 0x2], 0x4
000000DA 6006 bra +0x8 /* 000000E2 */
label000000DC:
000000DC 337C 0003 0002 move.w [A1 + 0x2], 0x3
label000000E2:
000000E2 4269 0004 clr.w [A1 + 0x4]
000000E6 0C38 0002 012F cmpi.b [0x0000012F /* CPUFlag */], 0x2
000000EC 6E0A bgt +0xC /* 000000F8 */
000000EE 1038 012F move.b D0, [0x0000012F /* CPUFlag */]
000000F2 5240 addq.w D0, 1
000000F4 1340 0007 move.b [A1 + 0x7], D0
label000000F8:
000000F8 4A78 028E tst.w [0x0000028E /* ROM85 */]
000000FC 6B0E bmi +0x10 /* 0000010C */
000000FE 0838 0004 0B22 btst.b [0x00000B22 /* HWCfgFlags */], 0x4
00000104 6706 beq +0x8 /* 0000010C */
00000106 137C 0001 0008 move.b [A1 + 0x8], 0x1
label0000010C:
0000010C 0C78 3FFF 028E cmpi.w [0x0000028E /* ROM85 */], 0x3FFF
00000112 6206 bhi +0x8 /* 0000011A */
00000114 137C 0001 0009 move.b [A1 + 0x9], 0x1
label0000011A:
0000011A 1038 021E move.b D0, [0x0000021E /* KbdType */]
0000011E 41FA FF5B lea.l A0, [PC - 0xA5 /* 0000007B */]
00000122 323C 0004 move.w D1, 0x4
label00000126:
00000126 B020 cmp.b D0, -[A0]
00000128 57C9 FFFC dbeq D1, -0x6 /* 00000126 */
0000012C 5241 addq.w D1, 1
0000012E 3341 000A move.w [A1 + 0xA], D1
00000132 4A38 0291 tst.b [0x00000291 /* PortBUse */]
00000136 6B18 bmi +0x1A /* 00000150 */
00000138 1238 01FB move.b D1, [0x000001FB /* SPConfig */]
0000013C 0201 000F andi.b D1, 0xF
00000140 0C01 0001 cmpi.b D1, 0x1
00000144 660A bne +0xC /* 00000150 */
00000146 2078 02DC movea.l A0, [0x000002DC /* ABusDCE */]
0000014A 1368 0007 000D move.b [A1 + 0xD], [A0 + 0x7]
label00000150:
00000150 3378 0210 000E move.w [A1 + 0xE], [0x00000210 /* BootDrive */]
00000156 4A78 03F6 tst.w [0x000003F6 /* FSFCBLen */]
0000015A 6D44 blt +0x46 /* 000001A0 */
0000015C 4269 000E clr.w [A1 + 0xE]
00000160 323C 003C move.w D1, 0x3C /* '<' */
label00000164:
00000164 4267 clr.w -[A7]
00000166 51C9 FFFC dbf D1, -0x6 /* 00000164 */
0000016A 204F movea.l A0, A7
0000016C 3178 0A58 0018 move.w [A0 + 0x18], [0x00000A58 /* SysMap */]
00000172 7008 moveq.l D0, 0x08
00000174 A260 trap FSDispatch/HFSDispatch, flags=2
00000176 6624 bne +0x26 /* 0000019C */
00000178 3168 0034 0016 move.w [A0 + 0x16], [A0 + 0x34]
0000017E A207 trap GetVolInfo/PBHGetVInfo/HGetVInfo, flags=2
00000180 661A bne +0x1C /* 0000019C */
00000182 2168 005A 0030 move.l [A0 + 0x30], [A0 + 0x5A]
00000188 217C 4552 494B 001C move.l [A0 + 0x1C], 0x4552494B /* 'ERIK' */
00000190 7001 moveq.l D0, 0x01
00000192 A260 trap FSDispatch/HFSDispatch, flags=2
00000194 6606 bne +0x8 /* 0000019C */
00000196 3368 0016 000E move.w [A1 + 0xE], [A0 + 0x16]
label0000019C:
0000019C DEFC 007A add.w A7, 0x7A /* 'z' */
label000001A0:
000001A0 2049 movea.l A0, A1
000001A2 225F movea.l A1, [A7]+
000001A4 5C4F addq.w A7, 6
000001A6 3EBC EA84 move.w [A7], 0xEA84
000001AA 4ED1 jmp [A1]
export_70:
000001AC 2F2F 0004 move.l -[A7], [A7 + 0x4]
000001B0 2F2F 000C move.l -[A7], [A7 + 0xC]
000001B4 A843 trap Fix2X
000001B6 588F addq.l A7, 4
000001B8 4E75 rts
label000001BA:
000001BA 7000 moveq.l D0, 0x00
label000001BC:
000001BC 2F09 move.l -[A7], A1
label000001BE:
000001BE 31C0 0220 move.w [0x00000220 /* MemErr */], D0
000001C2 4E75 rts
label000001C4:
000001C4 7000 moveq.l D0, 0x00
000001C6 60F6 bra -0x8 /* 000001BE */
export_71:
000001C8 A01C trap FreeMem
000001CA 2F40 0004 move.l [A7 + 0x4], D0
000001CE 4EFA FFF4 jmp [PC - 0xC /* 000001C4 */]
export_72:
000001D2 225F movea.l A1, [A7]+
000001D4 A11D trap MaxMem, flags=1
000001D6 2208 move.l D1, A0
000001D8 205F movea.l A0, [A7]+
000001DA 2081 move.l [A0], D1
000001DC 2E80 move.l [A7], D0
000001DE 4EFA FFDA jmp [PC - 0x26 /* 000001BA */]
export_73:
000001E2 4A78 028E tst.w [0x0000028E /* ROM85 */]
000001E6 6A2A bpl +0x2C /* 00000212 */
000001E8 2078 0130 movea.l A0, [0x00000130 /* ApplLimit */]
000001EC 43F8 0114 lea.l A1, [0x00000114 /* HeapEnd */]
000001F0 2008 move.l D0, A0
000001F2 9091 sub.l D0, [A1]
000001F4 740C moveq.l D2, 0x0C
000001F6 B082 cmp.l D0, D2
000001F8 6516 bcs +0x18 /* 00000210 */
000001FA 2251 movea.l A1, [A1]
000001FC 21C8 0114 move.l [0x00000114 /* HeapEnd */], A0
00000200 2280 move.l [A1], D0
00000202 4211 clr.b [A1]
00000204 2278 02AA movea.l A1, [0x000002AA /* ApplZone */]
00000208 2288 move.l [A1], A0
0000020A 2082 move.l [A0], D2
0000020C D1A9 000C add.l [A1 + 0xC], D0
label00000210:
00000210 4E75 rts
label00000212:
00000212 A063 trap MaxApplZone
00000214 4E75 rts
export_74:
00000216 225F movea.l A1, [A7]+
00000218 201F move.l D0, [A7]+
0000021A A11E trap NewPtr, flags=1
0000021C 2E88 move.l [A7], A0
0000021E 4EFA FF9C jmp [PC - 0x64 /* 000001BC */]
export_75:
00000222 225F movea.l A1, [A7]+
00000224 205F movea.l A0, [A7]+
00000226 A01F trap DisposPtr/DisposePtr
00000228 4EFA FF92 jmp [PC - 0x6E /* 000001BC */]
export_76:
0000022C 225F movea.l A1, [A7]+
0000022E 205F movea.l A0, [A7]+
00000230 A023 trap DisposHandle/DisposeHandle
00000232 4EFA FF88 jmp [PC - 0x78 /* 000001BC */]
export_77:
00000236 225F movea.l A1, [A7]+
00000238 205F movea.l A0, [A7]+
0000023A A025 trap GetHandleSize
0000023C 2E80 move.l [A7], D0
0000023E 6A06 bpl +0x8 /* 00000246 */
00000240 4297 clr.l [A7]
00000242 4EFA FF78 jmp [PC - 0x88 /* 000001BC */]
label00000246:
00000246 4EFA FF72 jmp [PC - 0x8E /* 000001BA */]
export_78:
0000024A 225F movea.l A1, [A7]+
0000024C 301F move.w D0, [A7]+
0000024E A146 trap GetTrapAddress, flags=1
00000250 2E88 move.l [A7], A0
00000252 4ED1 jmp [A1]
export_79:
00000254 225F movea.l A1, [A7]+
00000256 121F move.b D1, [A7]+
00000258 301F move.w D0, [A7]+
0000025A 2F09 move.l -[A7], A1
0000025C 4A01 tst.b D1
0000025E 6704 beq +0x6 /* 00000264 */
00000260 A746 trap GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
00000262 6002 bra +0x4 /* 00000266 */
label00000264:
00000264 A346 trap GetOSTrapAddress, flags=3
label00000266:
00000266 2F48 0004 move.l [A7 + 0x4], A0
0000026A 4E75 rts
export_80:
0000026C 4E56 FFCE link A6, -0x0032
00000270 41EE FFCE lea.l A0, [A6 - 0x32]
00000274 216E 000E 0012 move.l [A0 + 0x12], [A6 + 0xE]
0000027A 316E 000C 0016 move.w [A0 + 0x16], [A6 + 0xC]
00000280 4228 001A clr.b [A0 + 0x1A]
00000284 4228 001B clr.b [A0 + 0x1B]
00000288 42A8 001C clr.l [A0 + 0x1C]
0000028C A000 trap Open/PBHOpen/HOpen
0000028E 226E 0008 movea.l A1, [A6 + 0x8]
00000292 32A8 0018 move.w [A1], [A0 + 0x18]
00000296 3D40 0012 move.w [A6 + 0x12], D0
0000029A 4E5E unlink A6
0000029C 205F movea.l A0, [A7]+
0000029E DEFC 000A add.w A7, 0xA /* '\n' */
000002A2 4ED0 jmp [A0]
export_81:
000002A4 4E56 FFCE link A6, -0x0032
000002A8 41EE FFCE lea.l A0, [A6 - 0x32]
000002AC 316E 0008 0018 move.w [A0 + 0x18], [A6 + 0x8]
000002B2 A001 trap Close
000002B4 3D40 000A move.w [A6 + 0xA], D0
000002B8 4E5E unlink A6
000002BA 205F movea.l A0, [A7]+
000002BC 548F addq.l A7, 2
000002BE 4ED0 jmp [A0]
000002C0 51C1 sf D1
000002C2 6002 bra +0x4 /* 000002C6 */
export_82:
000002C4 50C1 st D1
label000002C6:
000002C6 4E56 FFCE link A6, -0x0032
000002CA 41EE FFCE lea.l A0, [A6 - 0x32]
000002CE 216E 0008 0020 move.l [A0 + 0x20], [A6 + 0x8]
000002D4 316E 0010 0018 move.w [A0 + 0x18], [A6 + 0x10]
000002DA 226E 000C movea.l A1, [A6 + 0xC]
000002DE 2151 0024 move.l [A0 + 0x24], [A1]
000002E2 4268 002C clr.w [A0 + 0x2C]
000002E6 42A8 002E clr.l [A0 + 0x2E]
000002EA 4A01 tst.b D1
000002EC 6604 bne +0x6 /* 000002F2 */
000002EE A002 trap Read
000002F0 6002 bra +0x4 /* 000002F4 */
label000002F2:
000002F2 A003 trap Write
label000002F4:
000002F4 3D40 0012 move.w [A6 + 0x12], D0
000002F8 226E 000C movea.l A1, [A6 + 0xC]
000002FC 22A8 0028 move.l [A1], [A0 + 0x28]
00000300 4E5E unlink A6
00000302 225F movea.l A1, [A7]+
00000304 DEFC 000A add.w A7, 0xA /* '\n' */
00000308 4ED1 jmp [A1]
export_83:
0000030A 4E56 FFB0 link A6, -0x0050
0000030E 41EE FFB0 lea.l A0, [A6 - 0x50]
00000312 216E 000E 0012 move.l [A0 + 0x12], [A6 + 0xE]
00000318 316E 000C 0016 move.w [A0 + 0x16], [A6 + 0xC]
0000031E 4228 001A clr.b [A0 + 0x1A]
00000322 4268 001C clr.w [A0 + 0x1C]
00000326 A00C trap GetFileInfo/PBHGetFInfo/HGetFileInfo
00000328 3D40 0012 move.w [A6 + 0x12], D0
0000032C 41E8 0020 lea.l A0, [A0 + 0x20]
00000330 226E 0008 movea.l A1, [A6 + 0x8]
00000334 7010 moveq.l D0, 0x10
00000336 A02E trap BlockMove/BlockMoveData
00000338 4E5E unlink A6
0000033A 225F movea.l A1, [A7]+
0000033C DEFC 000A add.w A7, 0xA /* '\n' */
00000340 4ED1 jmp [A1]
export_84:
00000342 4E56 FFB0 link A6, -0x0050
00000346 41EE FFB0 lea.l A0, [A6 - 0x50]
0000034A 216E 0012 0012 move.l [A0 + 0x12], [A6 + 0x12]
00000350 316E 0010 0016 move.w [A0 + 0x16], [A6 + 0x10]
00000356 4228 001A clr.b [A0 + 0x1A]
0000035A A008 trap Create/PBHCreate/HCreate
0000035C 4A40 tst.w D0
0000035E 6614 bne +0x16 /* 00000374 */
00000360 4268 001C clr.w [A0 + 0x1C]
00000364 A00C trap GetFileInfo/PBHGetFInfo/HGetFileInfo
00000366 43E8 0020 lea.l A1, [A0 + 0x20]
0000036A 22EE 0008 move.l [A1]+, [A6 + 0x8]
0000036E 22AE 000C move.l [A1], [A6 + 0xC]
00000372 A00D trap SetFileInfo/PBHSetFInfo/HSetFileInfo
label00000374:
00000374 3D40 0016 move.w [A6 + 0x16], D0
00000378 4E5E unlink A6
0000037A 225F movea.l A1, [A7]+
0000037C DEFC 000E add.w A7, 0xE
00000380 4ED1 jmp [A1]
export_85:
00000382 4E56 FFCE link A6, -0x0032
00000386 41EE FFCE lea.l A0, [A6 - 0x32]
0000038A 316E 000C 0018 move.w [A0 + 0x18], [A6 + 0xC]
00000390 216E 0008 001C move.l [A0 + 0x1C], [A6 + 0x8]
00000396 A012 trap SetEOF
00000398 3D40 000E move.w [A6 + 0xE], D0
0000039C 4E5E unlink A6
0000039E 225F movea.l A1, [A7]+
000003A0 5C8F addq.l A7, 6
000003A2 4ED1 jmp [A1]
export_86:
000003A4 4E56 FFCE link A6, -0x0032
000003A8 41EE FFCE lea.l A0, [A6 - 0x32]
000003AC 316E 000E 0018 move.w [A0 + 0x18], [A6 + 0xE]
000003B2 316E 000C 002C move.w [A0 + 0x2C], [A6 + 0xC]
000003B8 216E 0008 002E move.l [A0 + 0x2E], [A6 + 0x8]
000003BE A044 trap SetFPos
000003C0 3D40 0010 move.w [A6 + 0x10], D0
000003C4 4E5E unlink A6
000003C6 225F movea.l A1, [A7]+
000003C8 508F addq.l A7, 8
000003CA 4ED1 jmp [A1]
export_88:
000003CC 206F 0004 movea.l A0, [A7 + 0x4]
000003D0 43E8 0001 lea.l A1, [A0 + 0x1]
000003D4 7000 moveq.l D0, 0x00
label000003D6:
000003D6 1210 move.b D1, [A0]
000003D8 10C0 move.b [A0]+, D0
000003DA 1001 move.b D0, D1
000003DC 66F8 bne -0x6 /* 000003D6 */
000003DE 91C9 sub.l A0, A1
000003E0 2008 move.l D0, A0
000003E2 1300 move.b -[A1], D0
000003E4 2009 move.l D0, A1
000003E6 4E75 rts
export_87:
000003E8 206F 0004 movea.l A0, [A7 + 0x4]
000003EC 7000 moveq.l D0, 0x00
000003EE 1010 move.b D0, [A0]
000003F0 6004 bra +0x6 /* 000003F6 */
label000003F2:
000003F2 10E8 0001 move.b [A0]+, [A0 + 0x1]
label000003F6:
000003F6 51C8 FFFA dbf D0, -0x8 /* 000003F2 */
000003FA 4210 clr.b [A0]
000003FC 202F 0004 move.l D0, [A7 + 0x4]
00000400 4E75 rts